﻿using System;
using System.Collections.Generic;
using System.Web;

/// <summary>
/// Summary description for BrokerPremium
/// </summary>
/// 
namespace CE.CarInsurance
{
    public class BrokerPremium
    {
        private Int64 _cxbrokerpremiumid;
        private Int64 _cxbrokerproviderid;
        private Int64 _providercovertypeid;
        private Int64 _cecarid;
        private Int64 _customerid;
        private Int64 _agentid;
        private float _premium;
        private bool _selectedstatus;
        
        private string _package;
        private string _workshop;
        private string _producttype;
        private float _totalpremium;
        private Int16 _discountpercentage;
        private float _finalannualpremium;
        private float _finalannualpremiumNoDisc;
        private float _annualpremium;
        private float _promotionprice;
        private float _monthlyinstallment;
        private float _totalvmi;
        private float _totalcmi;
        private bool _isincludecmi;
        private string _tppd;
        private string _tpbip;
        private string _tpbia;
        private string _dec;
        private int _suminsured;
        private string _firetheft;
        private string _owndamage;
        private string _padriver;
        private string _papassenger;
        private string _medicalexpense;
        private string _bailbond;
        private string _info1;
        private string _info2;
        private string _info3;
        private string _info4;
        private string _info5;
        private string _info6;
        private string _info7;
        private string _info8;
        private string _info9;
        private string _info10;

        private string _paymentoption;
        private Int32 _noofinstallment;
        private string _bank;
        private float _finalannualpremiumwd;
        private float _ipfinalannualpremiumwd;
        private float _installmentamountwd;
        private float _lastinstallmentamountwd;
        private float _finalannualpremiumwod;
        private float _ipfinalannualpremiumwod;
        private float _installmentamountwod;
        private float _lastinstallmentamountwod;

        private float _originalpremiumwd;
        private float _originalpremiumwod;
        private float _approvedpremium;
        private float _tescoamount;
        private Int16 _tescoselect;
        private Int16 _approved;

        private DateTime _createddate;
        private DateTime _modifieddate;

        private float _worldCupDiscount;

        private string _paymentMode;
        private Boolean _mile;
        private Boolean _editpremium;

        public BrokerPremium()
        {
            ClearFields();
        }

        public Int64 CXBrokerPremiumId
        {
            get { return _cxbrokerpremiumid; }
            set { _cxbrokerpremiumid = value; }
        }

        public Int64 CXBrokerProviderId
        {
            get { return _cxbrokerproviderid; }
            set { _cxbrokerproviderid = value; }
        }

        public Int64 ProviderCoverTypeId
        {
            get { return _providercovertypeid; }
            set { _providercovertypeid = value; }
        }

        public Int64 CECarId
        {
            get { return _cecarid; }
            set { _cecarid = value; }
        }

        public Int64 CustomerId
        {
            get { return _customerid; }
            set { _customerid = value; }
        }

        public Int64 AgentId
        {
            get { return _agentid; }
            set { _agentid = value; }
        }

        public float Premium
        {
            get { return _premium; }
            set { _premium = value; }
        }

        public bool SelectedStatus
        {
            get { return _selectedstatus; }
            set { _selectedstatus = value; }
        }

       
        public string Package
        {
            get { return _package; }
            set { _package = value; }
        }

        public string WorkShop
        {
            get { return _workshop; }
            set { _workshop = value; }
        }

        public string ProductType
        {
            get { return _producttype; }
            set { _producttype = value; }
        }

        public float TotalPremium
        {
            get { return _totalpremium; }
            set { _totalpremium = value; }
        }

        public Int16 DiscountPercentage
        {
            get { return _discountpercentage; }
            set { _discountpercentage = value; }
        }

        public float AnnualPremium
        {
            get { return _annualpremium; }
            set { _annualpremium = value; }
        }

        public float FinalAnnualPremium
        {
            get { return _finalannualpremium; }
            set { _finalannualpremium = value; }
        }

        public float FinalAnnualPremiumNoDisc
        {
            get { return _finalannualpremiumNoDisc; }
            set { _finalannualpremiumNoDisc = value; }
        }

        public float PromotionPrice
        {
            get { return _promotionprice; }
            set { _promotionprice = value; }
        }

        public float MonthlyInstallment
        {
            get { return _monthlyinstallment; }
            set { _monthlyinstallment = value; }
        }

        public float TotalVMI
        {
            get { return _totalvmi; }
            set { _totalvmi = value; }
        }

        public float TotalCMI
        {
            get { return _totalcmi; }
            set { _totalcmi = value; }
        }

        public bool IsIncludeCMI
        {
            get { return _isincludecmi; }
            set { _isincludecmi = value; }
        }

        public string TPPD
        {
            get { return _tppd; }
            set { _tppd = value; }
        }

        public string TPBIP
        {
            get { return _tpbip; }
            set { _tpbip = value; }
        }

        public string TPBIA
        {
            get { return _tpbia; }
            set { _tpbia = value; }
        }

        public string DEC
        {
            get { return _dec; }
            set { _dec = value; }
        }

        public int SumInsured
        {
            get { return _suminsured; }
            set { _suminsured = value; }
        }

        public string FireTheft
        {
            get { return _firetheft; }
            set { _firetheft = value; }
        }

        public string OwnDamage
        {
            get { return _owndamage; }
            set { _owndamage = value; }
        }

        public string PADriver
        {
            get { return _padriver; }
            set { _padriver = value; }
        }

        public string PAPassenger
        {
            get { return _papassenger; }
            set { _papassenger = value; }
        }

        public string MedicalExpense
        {
            get { return _medicalexpense; }
            set { _medicalexpense = value; }
        }

        public string BailBound
        {
            get { return _bailbond; }
            set { _bailbond = value; }
        }

        public string Info1
        {
            get { return _info1; }
            set { _info1 = value; }
        }

        public string Info2
        {
            get { return _info2; }
            set { _info2 = value; }
        }

        public string Info3
        {
            get { return _info3; }
            set { _info3 = value; }
        }

        public string Info4
        {
            get { return _info4; }
            set { _info4 = value; }
        }

        public string Info5
        {
            get { return _info5; }
            set { _info5 = value; }
        }

        public string Info6
        {
            get { return _info6; }
            set { _info6 = value; }
        }

        public string Info7
        {
            get { return _info7; }
            set { _info7 = value; }
        }

        public string Info8
        {
            get { return _info8; }
            set { _info8 = value; }
        }

        public string Info9
        {
            get { return _info9; }
            set { _info9 = value; }
        }

        public string Info10
        {
            get { return _info10; }
            set { _info10 = value; }
        }

        public string PaymentOption
        {
            get { return _paymentoption; }
            set { _paymentoption = value; }
        }

        public Int32 NoofInstallment
        {
            get { return _noofinstallment; }
            set { _noofinstallment = value; }
        }

        public string Bank
        {
            get { return _bank; }
            set { _bank = value; }
        }

        public float FinalAnnualPremiumWD
        {
            get { return _finalannualpremiumwd; }
            set { _finalannualpremiumwd = value; }
        }

        public float IPFinalAnnualPremiumWD
        {
            get { return _ipfinalannualpremiumwd; }
            set { _ipfinalannualpremiumwd = value; }
        }

        public float InstallmentAmountWD
        {
            get { return _installmentamountwd; }
            set { _installmentamountwd = value; }
        }

        public float LastInstallmentAmountWD
        {
            get { return _lastinstallmentamountwd; }
            set { _lastinstallmentamountwd = value; }
        }

        public float FinalAnnualPremiumWOD
        {
            get { return _finalannualpremiumwod; }
            set { _finalannualpremiumwod = value; }
        }

        public float IPFinalAnnualPremiumWOD
        {
            get { return _ipfinalannualpremiumwod; }
            set { _ipfinalannualpremiumwod = value; }
        }

        public float InstallmentAmountWOD
        {
            get { return _installmentamountwod; }
            set { _installmentamountwod = value; }
        }

        public float LastInstallmentAmountWOD
        {
            get { return _lastinstallmentamountwod; }
            set { _lastinstallmentamountwod = value; }
        }

        public float OriginalPremiumWD
        {
            get { return _originalpremiumwd; }
            set { _originalpremiumwd = value; }
        }

        public float OriginalPremiumWOD
        {
            get { return _originalpremiumwod; }
            set { _originalpremiumwod = value; }
        }

        public float ApprovedPremium
        {
            get { return _approvedpremium; }
            set { _approvedpremium = value; }
        }

        public float TescoAmount
        {
            get { return _tescoamount; }
            set { _tescoamount = value; }
        }

        public Int16 TescoSelect
        {
            get { return _tescoselect; }
            set { _tescoselect = value; }
        }

        public Int16 Approved
        {
            get { return _approved; }
            set { _approved = value; }
        }

        public DateTime CreatedDate
        {
            get { return _createddate; }
            set { _createddate = value; }
        }

        public DateTime ModifiedDate
        {
            get { return _modifieddate; }
            set { _modifieddate = value; }
        }

        public float WorldCupDiscount
        {
            get { return _worldCupDiscount; }
            set { _worldCupDiscount = value; }
        }

        public string PaymentMode
        {
            get { return _paymentMode; }
            set { _paymentMode = value; }
        }

        public Boolean Mile
        {
            get { return _mile; }
            set { _mile = value; }
        }

        public Boolean EditPremium
        {
            get { return _editpremium; }
            set { _editpremium = value; }
        }

        private void ClearFields()
        {
            _cxbrokerpremiumid = 0;
            _cxbrokerproviderid = 0;
            _providercovertypeid = 0;
            _cecarid = 0;
            _customerid = 0;
            _agentid = 0;
            _premium = 0.0f;
            _selectedstatus = false;
            _package = "";
            
            _workshop = "";
            _producttype = "";
            _totalpremium = 0;
            _discountpercentage = 0;
            _finalannualpremium = 0;
            _annualpremium = 0;
            _promotionprice = 0;
            _monthlyinstallment = 0;
            _totalvmi = 0;
            _totalcmi = 0;
            _isincludecmi = false;
            _tppd = "";
            _tpbip = "";
            _tpbia = "";
            _dec = "";
            _suminsured = 0;
            _firetheft = "";
            _owndamage = "";
            _padriver = "";
            _papassenger = "";
            _medicalexpense = "";
            _bailbond = "";
            _info1 = "";
            _info2 = "";
            _info3 = "";
            _info4 = "";
            _info5 = "";
            _info6 = "";
            _info7 = "";
            _info8 = "";
            _info9 = "";
            _info10 = "";

            _paymentoption = "FP";
            _noofinstallment = 1;
            _bank = "";
            _finalannualpremiumwd = 0.0f;
            _ipfinalannualpremiumwd = 0.0f;
            _installmentamountwd = 0.0f;
            _lastinstallmentamountwd = 0.0f;
            _finalannualpremiumwod = 0.0f;
            _ipfinalannualpremiumwod = 0.0f;
            _installmentamountwod = 0.0f;
            _lastinstallmentamountwod = 0.0f;

            _originalpremiumwd = 0.0f;
            _originalpremiumwod = 0.0f;
            _approvedpremium = 0.0f;
            _tescoamount = 0.0f;
            _tescoselect = 0;
            _approved = 0;

            _createddate = CE.Global.General.GetUTCDateTime(); //DateTime.Now;
            _modifieddate = CE.Global.General.GetUTCDateTime(); //DateTime.Now;

            _worldCupDiscount = 0;
            _paymentMode = "";
            _mile = false;
            _editpremium = false; 
        }

    }
}